This section is intended to provide information relevant to understanding various technologies described herein. As the section's title implies, this is a discussion of related art that should in no way imply that it is prior art. Generally, related art may or may not be considered prior art. It should therefore be understood that any statement in this section should be read in this light, and not as any admission of prior art.
In modern circuit designs, a flip-flop or latch is a circuit that has two stable states and is used as a data storage element. A flip-flop or latch is a fundamental building block for use in digital electronic systems that are typically used in computers, communications, and many other types of devices, such as mobile phones. A flip-flop or latch is configured to store a single bit of data in one of two binary states as a logical one (1) or a logical zero (0). For a flip-flop or latch, an output and a next state may depend on its current input state and also on its current state, such as a previous input.
Generally, a flip-flop or latch is typically clocked, wherein a flip-flop or latch may refer to a clocked circuit. In various instances, a flip-flop is edge-sensitive, and a latch is level-sensitive. That is, when a latch is enabled, the latch may become transparent, while the output of a flip-flop may only change on a single clock edge (whether a rising clock edge or falling clock edge). In some conventional flip-flop or latch circuit scheme, a race condition is found that makes it less robust and unreliable. As such, there exists a need to improve the conventional flip-flop or latch circuit scheme to reduce clock load and power to provide a more reliable and robust flip-flop or latch circuit scheme.